home *** CD-ROM | disk | FTP | other *** search
Wrap
'************************************************************************** '* -- setup.mst -- '* '* Power Cinema 95 setup script '* '* Copyright (C) 1995,96 CANOPUS Co., Ltd. All rights reserved. '************************************************************************** '$INCLUDE 'setupapi.inc' '$INCLUDE 'msdetect.inc' ''Dialog ID's CONST WELCOME = 100 CONST WELCOMEUS = 101 CONST ASKQUIT = 200 CONST ASKQUITUS = 201 CONST OPTIONS = 500 CONST OPTIONSUS = 501 CONST DESTPATHW95 = 1001 CONST DESTPATHUSW95 = 1003 CONST EXITSUCCESSW95 = 1101 CONST EXITSUCCESSUSW95= 1103 CONST EXITQUIT = 1200 CONST EXITQUITUS = 1201 CONST EXITFAILURE = 1300 CONST EXITFAILUREUS = 1301 CONST EXITCHECK = 1400 CONST EXITCHECKUS = 1401 CONST DESTINSTALL = 1500 CONST DESTINSTALLUS = 1501 CONST BADPATHW95 = 2001 CONST BADPATHUSW95 = 2003 CONST POWERERROR = 2100 CONST POWERERRORUS = 2101 CONST DISKERROR = 2200 CONST DISKERRORUS = 2201 ''Default Setting CONST LOGO = 1 CONST SHOWMAX = 3 CONST TRUE = 1 CONST FALSE = 0 '' Users Area GLOBAL DEST$ '' Default Dir GLOBAL WINDRIVE$ '' Windows Dir GLOBAL GROUP$ '' Group Name GLOBAL CUIDLL$ '' User DLL File Name GLOBAL CHECKSTATES$ '' Check Box Data GLOBAL JPMODE AS INTEGER '' Japanese / English Mode GLOBAL WINMODE AS INTEGER '' Windows Version ''CustInst list CONST TOTALKBOX = 3 CONST CHECKBOX1 = 1 CONST CHECKBOX2 = 2 CONST CHECKBOX3 = 3 ''CustInst list symbol names DECLARE SUB Install DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING DECLARE SUB IniSetAndBakup (szFile$, szSec$, szKey$, szVal$, szSecOp$) DECLARE FUNCTION CheckPowerWindow LIB "mscuistf.dll" () AS INTEGER DECLARE FUNCTION GetWindowsVer LIB "mscuistf.dll" () AS INTEGER DECLARE FUNCTION ExitWindowsExec LIB "User" (Exec$, Param$) AS INTEGER DECLARE FUNCTION GetMetrics LIB "mscuistf.dll" () AS INTEGER ' ' #[ INIT ] ' INIT: CUIDLL$ = "mscuistf.dll" ''Custom user interface dll WINMODE = GetWindowsVer() JPMODE = GetMetrics() SetWindowSize SHOWMAX SetBitmap CUIDLL$, LOGO SetTitle "Power Cinema 95 Setup" szInf$ = GetSymbolValue("STF_SRCINFPATH") IF szInf$ = "" THEN szInf$ = GetSymbolValue("STF_CWDDIR") + "setup.inf" END IF ReadInfFile szInf$ IF WINMODE = FALSE THEN IF JPMODE <> 0 THEN i% = DoMsgBox("Windows 95 ÉΩùpé╠âAâvâèâPü[âVâçâôé╠é╜é▀üAé▒é╠è┬ï½é╔é═âCâôâXâgü[âïé┼é½é▄é╣é±üB", "Power Cinema 95 Setup", MB_OK+MB_TASKMODAL+MB_ICONHAND) ELSE i% = DoMsgBox("Please install Windows 95 before installing Power Cinema 95.", "Power Cinema 95 Setup", MB_OK+MB_TASKMODAL+MB_ICONHAND) END IF END END IF i% = CheckPowerWindow() IF i% = FALSE THEN IF JPMODE <> 0 THEN dlg% = POWERERROR ELSE dlg% = POWERERRORUS END IF sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfoDlgProc", 0, "") END END IF DEST$ = "" WINDRIVE$ = GetWindowsDir() DEST$ = MID$(WINDRIVE$, 1, 1) + ":\CINEMA95" WELCOME: IF JPMODE <> 0 THEN dlg% = WELCOME ELSE dlg% = WELCOMEUS END IF sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfoDlgProc", 0, "") IF sz$ = "CONTINUE" THEN UIPop 1 ELSE GOSUB ASKQUITJMP GOTO WELCOME END IF ''CustInst list symbols CHECKSTATES$ = "CheckItemsIn" IF JPMODE <> 0 THEN s% = 1 ELSE AddListItem CHECKSTATES$, "OFF" s% = 2 END IF FOR i% = s% TO TOTALKBOX STEP 1 AddListItem CHECKSTATES$, "ON" NEXT i% CHECKCUT: IF JPMODE <> 0 THEN dlg% = OPTIONS ELSE dlg% = OPTIONSUS END IF sz$ = UIStartDlg(CUIDLL$, dlg%, "FCheckDlgProc", 0, "") IF sz$ = "CONTINUE" THEN push% = 0 CHECKSTATES$ = "CheckItemsOut" FOR i% = 1 TO TOTALKBOX STEP 1 IF GetListItem(CHECKSTATES$, i%) = "ON" THEN push% = 1 END IF NEXT i% IF push% = 0 THEN IF JPMODE <> 0 THEN dlg% = EXITCHECK ELSE dlg% = EXITCHECKUS END IF sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfoDlgProc", 0, "") UIPop 1 GOTO CHECKCUT END IF UIPop 1 GOTO GETPATH ELSE GOSUB ASKQUITJMP GOTO CHECKCUT END IF GETPATH: SetSymbolValue "EditTextIn", DEST$ SetSymbolValue "EditFocus", "END" GETPATHL1: IF JPMODE <> 0 THEN dlg% = DESTPATHW95 ELSE dlg% = DESTPATHUSW95 END IF sz$ = UIStartDlg(CUIDLL$, dlg%, "FEditDlgProc", 0, "") DEST$ = GetSymbolValue("EditTextOut") IF sz$ = "CONTINUE" THEN IF IsDirWritable(DEST$) = 0 THEN GOSUB INPUTPATH GOTO GETPATHL1 END IF UIPop 1 ELSEIF sz$ = "REACTIVATE" THEN GOTO GETPATHL1 ELSEIF sz$ = "BACK" THEN UIPop 1 GOTO CHECKCUT ELSE GOSUB ASKQUITJMP GOTO GETPATHL1 END IF INST: IF JPMODE <> 0 THEN dlg% = DESTINSTALL ELSE dlg% = DESTINSTALLUS END IF sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfoDlgProc", 0, "") IF sz$ = "CONTINUE" THEN UIPop 1 ELSEIF sz$ = "BACK" THEN UIPop 1 GOTO GETPATH ELSE GOSUB ASKQUITJMP GOTO INST END IF Install QUIT: ON ERROR GOTO ERRQUIT IF ERR = 0 THEN IF JPMODE <> 0 THEN dlg% = EXITSUCCESSW95 ELSE dlg% = EXITSUCCESSUSW95 END IF ELSEIF ERR = STFQUIT THEN IF JPMODE <> 0 THEN dlg% = EXITQUIT ELSE dlg% = EXITQUITUS END IF ELSE IF JPMODE <> 0 THEN dlg% = EXITFAILURE ELSE dlg% = EXITFAILUREUS END IF END IF QUITL1: sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfoDlgProc", 0, "") IF sz$ = "CONTINUE" THEN UIPop 1 END END IF RESET: new% = ExitExecRestart() Exe$ = WINDRIVE$ + "\_msrstrt.exe" Empty$ = "" RESTART1: IF new% = 0 THEN IF JPMODE <> 0 THEN i% = DoMsgBox("Windows é≡ì─ïNô«é┼é½é▄é╣é±üBæ╝é╠âAâvâèâPü[âVâçâôüiMS-DOS╠▀█▌╠▀─ôÖüjé≡ÅIù╣é╡é─é¡é╛é│éóüB", "âZâbâgâAâbâv âGâëü[", MB_OK+MB_TASKMODAL+MB_ICONHAND) ELSE i% = DoMsgBox("The Setup program cannot restart Windows. Please terminate all other applications and MS-DOS Prompt.", "Setup Error", MB_OK+MB_TASKMODAL+MB_ICONHAND) END IF END IF I% = ExitWindowsExec (Exe$, Empty$) IF I% = 0 THEN GOTO RESET ELSE END END IF END ERRQUIT: IF JPMODE <> 0 THEN i% = DoMsgBox("âZâbâgâAâbâvâfâBâXâNé╠ôαùeé¬ë≤éΩé─éóé▄é╖üBâeâNâjâJâïâTâ|ü[âgé▄é┼ÿAùìé╡é─é¡é╛é│éóüB", "âZâbâgâAâbâv âGâëü[", MB_OK+MB_TASKMODAL+MB_ICONHAND) ELSE i% = DoMsgBox("This Setup disk is destroyed. Please contact our Technical Support.", "Setup Error", MB_OK+MB_TASKMODAL+MB_ICONHAND) END IF END INPUTPATH: IF JPMODE <> 0 THEN dlg% = BADPATHW95 ELSE dlg% = BADPATHUSW95 END IF sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "") IF sz$ = "REACTIVATE" THEN GOTO INPUTPATH END IF UIPop 1 RETURN ASKQUITJMP: IF JPMODE <> 0 THEN dlg% = ASKQUIT ELSE dlg% = ASKQUITUS END IF sz$ = UIStartDlg(CUIDLL$, dlg%, "FQuitDlgProc", 0, "") IF sz$ = "EXIT" THEN UIPopAll ERROR STFQUIT ELSEIF sz$ = "REACTIVATE" THEN GOTO ASKQUITJMP ELSE UIPop 1 END IF RETURN '***************************************************** '** ôαùe: '** âCâôâXâgü[âïé╠ì∞ï╞ '** ê°é½Éö: '** é╚é╡ '** û▀éΦÆl: '** é╚é╡ '***************************************************** SUB Install STATIC SrcDir$ = GetSymbolValue("STF_SRCDIR") WinSysDir$ = GetWindowsSysDir() CreateDir DEST$, cmoNone CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "DIR", DEST$, cmoOverwrite ''âtâ@âCâïâRâsü[âèâXâgé╠ôoÿ^ CHECKSTATES$ = "CheckItemsOut" IF GetListItem(CHECKSTATES$, 1) = "ON" THEN AddSectionFilesToCopyList "OPTION1", SrcDir$, DEST$ CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "FILE0", MakePath(DEST$,"README.TXT"), cmoOverwrite END IF IF GetListItem(CHECKSTATES$, 2) = "ON" THEN AddSectionFilesToCopyList "OPTSYS2", SrcDir$, WinSysDir$ AddSectionFilesToCopyList "OPTION2", SrcDir$, DEST$ CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "FILE1", MakePath(DEST$,"PWCINE95.EXE"), cmoOverwrite CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "FILE2", MakePath(DEST$,"PWCINE95.DOC"), cmoOverwrite CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "FILE3", MakePath(DEST$,"VCDMCI95.DLL"), cmoOverwrite CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "FILE4", MakePath(DEST$,"CINEMA95.DLL"), cmoOverwrite CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "FILE6", MakePath(WinSysDir$,"PWJPEG.DRV"), cmoOverwrite END IF IF GetListItem(CHECKSTATES$, 3) = "ON" THEN AddSectionFilesToCopyList "OPTSYS3", SrcDir$, WinSysDir$ AddSectionFilesToCopyList "OPTWIN3", SrcDir$, WINDRIVE$ CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "FILE7", MakePath(WINDRIVE$,"SOFTPEG.INI"), cmoOverwrite CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "FILE8", MakePath(WinSysDir$,"SOFTPEGC.DLL"), cmoOverwrite CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "FILE9", MakePath(WinSysDir$,"CCMPEGW.DLL"), cmoOverwrite CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "FILE10", MakePath(WinSysDir$,"CCMPEG.DLL"), cmoOverwrite CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "FILE11", MakePath(WinSysDir$,"SOFTPEG.DRV"), cmoOverwrite CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "FILE12", MakePath(WinSysDir$,"SOFTPEG3.DLL"), cmoOverwrite CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "FILE13", MakePath(WinSysDir$,"SOFTPEGC.DLL"), cmoOverwrite CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "FILE14", MakePath(WinSysDir$,"CD16.DRV"), cmoOverwrite END IF AddSectionFilesToCopyList "OPTIONA", SrcDir$, DEST$ CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "FILE15", MakePath(DEST$,"PWCIUIST.EXE"), cmoOverwrite ''âtâ@âCâïâRâsü[ SizeReq& = GetCopyListCost ("","", "") IF SizeReq& <> 0 THEN sz$ = UIStartDlg(CUIDLL$, DISKERROR, "FInfoDlgProc", 0, "") END END IF SetRestartDir WINDRIVE$ CopyFilesInCopyList ''éhéméhâtâ@âCâïé╠ôoÿ^ IF GetListItem(CHECKSTATES$, 2) = "ON" THEN RemoveInisection WINDRIVE$ + "CANOPUS.INI", "Power Cinema 95" , cmoVital IniSetAndBakup WINDRIVE$ + "SYSTEM.INI", "DRIVERS", "VIDC.MJPG", "PWJPEG.DRV", "SYS" CreateIniKeyValue WINDRIVE$ + "CONTROL.INI", "DRIVERS.DESC", "PWJPEG.DRV", "CANOPUS Power Window Motion JPEG Decompressor", cmoOverwrite END IF IF GetListItem(CHECKSTATES$, 3) = "ON" THEN CreateIniKeyValue WINDRIVE$ + "Win.ini", "MCI EXTENSIONS", "MPG", "MPEGVIDEO", cmoOverwrite CreateIniKeyValue WINDRIVE$ + "Win.ini", "MCI EXTENSIONS", "DAT", "MPEGVIDEO", cmoOverwrite CreateIniKeyValue WINDRIVE$ + "Win.ini", "MCI EXTENSIONS", "MPA", "MPEGVIDEO", cmoOverwrite CreateIniKeyValue WINDRIVE$ + "Win.ini", "MCI EXTENSIONS", "MPV", "MPEGVIDEO", cmoOverwrite ' CreateIniKeyValue WINDRIVE$ + "SYSTEM.INI", "MCI", "MPEGVIDEOCD", "SOFTPEG.DRV CDI", cmoOverwrite IniSetAndBakup WINDRIVE$ + "SYSTEM.INI", "MCI", "MPEGVIDEOCD", "SOFTPEG.DRV CDI", "SYS" ' CreateIniKeyValue WINDRIVE$ + "SYSTEM.INI", "MCI", "MPEGVIDEO", "SOFTPEG.DRV", cmoOverwrite IniSetAndBakup WINDRIVE$ + "SYSTEM.INI", "MCI", "MPEGVIDEO", "SOFTPEG.DRV", "SYS" CreateIniKeyValue WINDRIVE$ + "CONTROL.INI", "DRIVERS.DESC", "SOFTPEG.DRV", "[MCI] CompCore SoftPEG (TM) MPEG Driver", cmoOverwrite RemoveIniKey WINDRIVE$ + "SYSTEM.INI", "MCI", "CCMPEG", cmoNone RemoveIniKey WINDRIVE$ + "SYSTEM.INI", "MCI", "CCMPEGCDI", cmoNone RemoveIniKey WINDRIVE$ + "MPLAYER.INI", "DEVICES", "CCMPEG", cmoNone RemoveIniKey WINDRIVE$ + "MPLAYER.INI", "DEVICES", "CCMPEGCDI", cmoNone RemoveIniKey WINDRIVE$ + "MPLAYER.INI", "OPTIONS", "CCMPEG", cmoNone RemoveIniKey WINDRIVE$ + "MPLAYER.INI", "OPTIONS", "CCMPEGCDI", cmoNone END IF ''âOâïü[âvôoÿ^ GROUP$ = "PowerCinema 95" CreateProgmanGroup GROUP$, "", cmoNone ShowProgmanGroup GROUP$, 1, cmoNone CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "GROUP", GROUP$, cmoOverwrite IF GetListItem(CHECKSTATES$, 1) = "ON" THEN IF JPMODE <> 0 THEN szIcon$ = "╪╪░╜╔░─" ELSE szIcon$ = "Release Note" END IF CreateProgmanItem GROUP$, szIcon$ , "NOTEPAD.EXE "+MakePath(DEST$,"README.TXT") , "", cmoOverwrite CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "ICON0", szIcon$, cmoOverwrite END IF IF GetListItem(CHECKSTATES$, 2) = "ON" THEN CreateProgmanItem GROUP$, "PowerCinema 95" , MakePath(DEST$,"PWCINE95.EXE") , "", cmoOverwrite CreateProgmanItem GROUP$, "PowerCinema 95 Manual" , MakePath(DEST$,"PWCINE95.DOC") , "", cmoOverwrite CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "ICON1", "PowerCinema 95", cmoOverwrite CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "ICON2", "PowerCinema 95 Manual", cmoOverwrite END IF IF JPMODE <> 0 THEN szIcon$ = "▒▌▓▌╜─░╫" ELSE szIcon$ = "Uninstaller" END IF CreateProgmanItem GROUP$, szIcon$ , MakePath(DEST$,"PWCIUIST.EXE"), "", cmoOverwrite CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", "ICON3", szIcon$, cmoOverwrite END SUB '***************************************************** '** ôαùe: '** âtâïâpâXé╠ì\æóæ╠é╔ò╧è╖ '** ê°é½Éö: '** szDir$ - âtâïâpâXâfâBâîâNâgâèû╝ '** szFile$ - âtâ@âCâïû╝é▄é╜é═âfâBâîâNâgâèû╝ '** û▀éΦÆl: '** âpâXû╝ '***************************************************** FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING IF szDir$ = "" THEN MakePath = szFile$ ELSEIF szFile$ = "" THEN MakePath = szDir$ ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN MakePath = szDir$ + szFile$ ELSE MakePath = szDir$ + "\" + szFile$ END IF END FUNCTION '*************************************************************** '** ôαùe: '** Iniôαùeò█è╟ '** ôoÿ^éáéΩé╬üAë╜éαé╡é╚éóüB '** ê°é½Éö: '** szFile$ - âtâïâpâXâtâ@âCâï '** szSec$ - âZâNâVâçâô '** szKey$ - âLü[ '** szVal$ - Æl '** szSecOp$- âfâBâîâNâgâè '** û▀éΦÆl: '** âpâXû╝ '*************************************************************** SUB IniSetAndBakup (szFile$, szSec$, szKey$, szVal$, szSecOp$) STATIC szLoad$ = "" szLoadBak$ = "" szLoadBak$ = GetIniKeyString(szFile$, szSec$, szKey$) szLoad$ = GetIniKeyString(WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", szSecOp$ + szKey$) IF (szLoad$ = "") OR (szLoad$ <> szLoadBak$) OR ( szLoadBak$ <> szVal$) THEN CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "CinemaUnInstall", szSecOp$ + szKey$, szLoadBak$, cmoOverwrite END IF CreateIniKeyValue szFile$, szSec$, szKey$, szVal$, cmoOverwrite END SUB